package cn.gson.springboot.model.mapper;

import java.sql.Time;
import java.sql.Timestamp;
import java.util.Date;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.alibaba.fastjson.JSONArray;

@Mapper
public interface TriageMapper {
       //初始化分诊表格
	  public JSONArray  selectAlltriage(@Param("registr_state") Integer registr_state,@Param("clinicname") String clinicname);
	  
	  public JSONArray  selectAlldoctor(@Param("sectionname") String sectionname);
      
	  //查出当天排班科室
	  public JSONArray  selectAllPresentOrderSection(@Param("orderclass_time") Date orderclass_time);
	  
	 //根据科室名称找到当天对应的角色
	  public JSONArray selectAllPresentRolename(@Param("orderclass_time") Date  orderclass_time,
				  																			@Param("sectionname") String sectionname);
	  
      //查出当天排班人员
	  public JSONArray  selectAllPresentOrderPeople(@Param("orderclass_time") Date  orderclass_time,
			  																					  @Param("sectionname") String sectionname,
			  																					 @Param("section_id") Integer section_id,
			  																					  @Param("rolename") String rolename,
			  																					  @Param("arrange_starclassses") Time arrange_starclassses,
			  																					  @Param("arrange_endclassses") Time arrange_endclassses,
			  																					  @Param("arrange_classsid") Integer arrange_classsid); 
	
	 //查询这些科室中的医生护士,初始化科室的下拉列表
	  public JSONArray selectUserSectionArrange();
	  
	  //科室下面对应人员初始化
	 public JSONArray selectAllsectionPeople(@Param("sectionid")Integer sectionid,@Param("role_name") String role_name);
	  
	 
	//安排排班新增 
    public void addOrder_class(@Param("arrange_classsid")Integer arrange_classsid,
    													  @Param("user_id")Integer user_id,
    													  @Param("orderclass_time")Date orderclass_time);
    
    //根据开始与结束时间查到安排的id
    public JSONArray  selectarrange_classsid( @Param("arrange_starclassses") Time arrange_starclassses,
		        																	 @Param("arrange_endclassses") Time arrange_endclassses);
    	
   //查询排班时间
    public JSONArray selectarrange_time();
    
   //修改排班班次
   public void updateArrange_class( @Param("arrange_classsid")Integer arrange_classsid,
																    @Param("arrange_starclassses") Time arrange_starclassses,
																    @Param("arrange_endclassses") Time arrange_endclassses);
   
   //修改排班班次1 
   public void updateOrderclass( @Param("arrange_classsid")Integer arrange_classsid,
														      @Param("orderclass_time") Date orderclass_time,
														      @Param("orderclass_id") Integer orderclass_id);
	        
   //<!-- 新增排班判断-->
   public JSONArray IfOrderPeople(@Param("orderclass_time") Date  orderclass_time,
																   @Param("sectionid") Integer sectionid,
																   @Param("userid") Integer userid,
																   @Param("arrange_classsid") Integer arrange_classsid/*
																   @Param("arrange_starclassses") Time arrange_starclassses,
																   @Param("arrange_endclassses") Time arrange_endclassses*/); 
   //<!-- 根据用户id查询角色 -->
   public JSONArray selectuser_role(@Param("userid") Integer  userid);
   
   //<!-- 根据角色查询排班班次 -->
   public JSONArray selectarrange_classes(@Param("arrange_role") String  arrange_role);
    
    // 查询排班日期【前一天】或者【后一天】的排班科室
	  public JSONArray selectbefore_AfterOrderSection(@Param("orderclass_time") Date  orderclass_time);
	  
	  //根据科室查询排班日期【前一天】或者【后一天】的人 
	  public JSONArray  selectbefore_AfterOrderPeople(@Param("orderclass_time") Date  orderclass_time,
			  																						    @Param("section_name") String sectionname,
			  																					        @Param("arrange_starclassses") Time arrange_starclassses,
			  																					        @Param("arrange_endclassses") Time arrange_endclassses); 

	   //查询所有科室
	  public JSONArray  selectAll_ArrangeSection();
	  
	  //根据开始排班班次查结束
	  public JSONArray arrangeclasses_endclass(@Param("arrange_classsid") Integer arrange_classsid);
	  
	  //根据角色查询排班班次初始化排班班次
	  public JSONArray init_arrange_classes(@Param("arrange_role") String arrange_role);
	  
	  public JSONArray selectAll_Sectionmanage(@Param("section_name") String section_name);
	  
	  //查询所有班次 
	  public JSONArray selectAll_arrange_classes(@Param("arrange_role") String arrange_role,@Param("arrange_classses") String arrange_classses);
	  
}
